package com.hifar.test.standardbase.pojo;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hifar.model.BaseModel;
import com.hifar.plat.AopOption.Dict;
import com.hifar.plat.AopOption.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.Date;

/**
* <p>
 * 资源-方法
 * </p>
 *
 * @author wangkepeng
 * @since 2024-12-12 10:49:33
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("HF_RES_STANDARD")
@ApiModel(value = "HfResStandard对象", description = "资源-方法")
public class HfResStandard extends BaseModel implements Serializable {

    /**
    * 标准类型名称
    */
    @Excel(name="标准类型名称",sort=1)
    @ApiModelProperty(value = "标准类型名称")
    @JSONField(name = "standardTypeName")
    private String standardTypeName;

    /**
    * 标准类型（数据字典hf_res_standard_type）
    */
    @Excel(name="标准类型（数据字典hf_res_standard_type）",sort=1)
    @ApiModelProperty(value = "标准类型（数据字典hf_res_standard_type）")
    @Dict(dictCode = "hf_res_standard_type")
    @JSONField(name = "standardTypeCode")
    private String standardTypeCode;


    /**
    * 发布时间
    */
    @Excel(name="发布时间",sort=1)
    @ApiModelProperty(value = "发布时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @TableField(value = "PUBLISH_TIME", updateStrategy = FieldStrategy.IGNORED)
    @JSONField(name = "publishTime")
    private Date publishTime;


    /**
    * 部门管理
    */
    @Excel(name="部门管理",sort=1)
    @ApiModelProperty(value = "部门管理")
    @TableField("DEPT_ID")
    @JSONField(name = "deptId")
    private String deptId;


    /**
    * 发布机构
    */
    @Excel(name="发布机构",sort=1)
    @ApiModelProperty(value = "发布机构")
    @TableField(value = "PUBLISH_ORG", updateStrategy = FieldStrategy.IGNORED)
    @JSONField(name = "publishOrg")
    private String publishOrg;


    /**
    * 使用时间
    */
    @Excel(name="使用时间",sort=1)
    @ApiModelProperty(value = "使用时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @TableField(value = "USE_TIME", updateStrategy = FieldStrategy.IGNORED)
    @JSONField(name = "useTime")
    private Date useTime;


    /**
    * 排序
    */
    @Excel(name="排序",sort=1)
    @ApiModelProperty(value = "排序")
    @TableField("ROW_SORT")
    @JSONField(name = "rowSort")
    private Integer rowSort;


    /**
    * 标准名称
    */
    @Excel(name="标准名称",sort=1)
    @ApiModelProperty(value = "标准名称")
    @TableField("STANDARD_NAME")
    @JSONField(name = "standardName")
    @NotBlank(message = "标准名称不能为空!")
    private String standardName;

    

    /**
    * 标准名称
    */
    @Excel(name="标准编码",sort=1)
    @ApiModelProperty(value = "标准编码")
    @TableField("STANDARD_CODE")
    @JSONField(name = "standardCode")
    @NotBlank(message = "标准编码不能为空!")
    private String standardCode;

    /**
    * 备注
    */
    @Excel(name="备注",sort=1)
    @ApiModelProperty(value = "备注")
    @TableField("REMARKS")
    @JSONField(name = "remarks")
    private String remarks;


    /**
    * 创建用户名称
    */
    @Excel(name="创建用户名称",sort=1)
    @ApiModelProperty(value = "创建用户名称")
    @TableField(value = "CREATE_USER_NAME", fill = FieldFill.INSERT)
    @JSONField(name = "createUserName")
    private String createUserName;

}